<?php

	/**
	 * @param string $string
	 * @return string
	 */
	function Utf8StrToLower($string)
	{
		$mapping = array(
					"\x61" => "\x41",
					"\x62" => "\x42",
					"\x63" => "\x43",
					"\x64" => "\x44",
					"\x65" => "\x45",
					"\x66" => "\x46",
					"\x67" => "\x47",
					"\x68" => "\x48",
					"\x69" => "\x49",
					"\x6A" => "\x4A",
					"\x6B" => "\x4B",
					"\x6C" => "\x4C",
					"\x6D" => "\x4D",
					"\x6E" => "\x4E",
					"\x6F" => "\x4F",
					"\x70" => "\x50",
					"\x71" => "\x51",
					"\x72" => "\x52",
					"\x73" => "\x53",
					"\x74" => "\x54",
					"\x75" => "\x55",
					"\x76" => "\x56",
					"\x77" => "\x57",
					"\x78" => "\x58",
					"\x79" => "\x59",
					"\x7A" => "\x5A",
					"\xC5\xA1" => "\xC5\xA0",
					"\xC5\x9B" => "\xC5\x9A",
					"\xC5\xA5" => "\xC5\xA4",
					"\xC5\xBE" => "\xC5\xBD",
					"\xC5\xBA" => "\xC5\xB9",
					"\xC5\x82" => "\xC5\x81",
					"\xC4\x85" => "\xC4\x84",
					"\xC5\x9F" => "\xC5\x9E",
					"\xC5\xBC" => "\xC5\xBB",
					"\xC4\xBE" => "\xC4\xBD",
					"\xC5\x95" => "\xC5\x94",
					"\xC3\xA1" => "\xC3\x81",
					"\xC3\xA2" => "\xC3\x82",
					"\xC4\x83" => "\xC4\x82",
					"\xC3\xA4" => "\xC3\x84",
					"\xC4\xBA" => "\xC4\xB9",
					"\xC4\x87" => "\xC4\x86",
					"\xC3\xA7" => "\xC3\x87",
					"\xC4\x8D" => "\xC4\x8C",
					"\xC3\xA9" => "\xC3\x89",
					"\xC4\x99" => "\xC4\x98",
					"\xC3\xAB" => "\xC3\x8B",
					"\xC4\x9B" => "\xC4\x9A",
					"\xC3\xAD" => "\xC3\x8D",
					"\xC3\xAE" => "\xC3\x8E",
					"\xC4\x8F" => "\xC4\x8E",
					"\xC4\x91" => "\xC4\x90",
					"\xC5\x84" => "\xC5\x83",
					"\xC5\x88" => "\xC5\x87",
					"\xC3\xB3" => "\xC3\x93",
					"\xC3\xB4" => "\xC3\x94",
					"\xC5\x91" => "\xC5\x90",
					"\xC3\xB6" => "\xC3\x96",
					"\xC5\x99" => "\xC5\x98",
					"\xC5\xAF" => "\xC5\xAE",
					"\xC3\xBA" => "\xC3\x9A",
					"\xC5\xB1" => "\xC5\xB0",
					"\xC3\xBC" => "\xC3\x9C",
					"\xC3\xBD" => "\xC3\x9D",
					"\xC5\xA3" => "\xC5\xA2",
					"\xD0\xB0" => "\xD0\x90",
					"\xD0\xB1" => "\xD0\x91",
					"\xD0\xB2" => "\xD0\x92",
					"\xD0\xB3" => "\xD0\x93",
					"\xD0\xB4" => "\xD0\x94",
					"\xD0\xB5" => "\xD0\x95",
					"\xD0\xB6" => "\xD0\x96",
					"\xD0\xB7" => "\xD0\x97",
					"\xD0\xB8" => "\xD0\x98",
					"\xD0\xB9" => "\xD0\x99",
					"\xD0\xBA" => "\xD0\x9A",
					"\xD0\xBB" => "\xD0\x9B",
					"\xD0\xBC" => "\xD0\x9C",
					"\xD0\xBD" => "\xD0\x9D",
					"\xD0\xBE" => "\xD0\x9E",
					"\xD0\xBF" => "\xD0\x9F",
					"\xD1\x80" => "\xD0\xA0",
					"\xD1\x81" => "\xD0\xA1",
					"\xD1\x82" => "\xD0\xA2",
					"\xD1\x83" => "\xD0\xA3",
					"\xD1\x84" => "\xD0\xA4",
					"\xD1\x85" => "\xD0\xA5",
					"\xD1\x86" => "\xD0\xA6",
					"\xD1\x87" => "\xD0\xA7",
					"\xD1\x88" => "\xD0\xA8",
					"\xD1\x89" => "\xD0\xA9",
					"\xD1\x8A" => "\xD0\xAA",
					"\xD1\x8B" => "\xD0\xAB",
					"\xD1\x8C" => "\xD0\xAC",
					"\xD1\x8D" => "\xD0\xAD",
					"\xD1\x8E" => "\xD0\xAE",
					"\xD1\x8F" => "\xD0\xAF",
					"\xD1\x92" => "\xD0\x82",
					"\xD1\x93" => "\xD0\x83",
					"\xD1\x99" => "\xD0\x89",
					"\xD1\x9A" => "\xD0\x8A",
					"\xD1\x9C" => "\xD0\x8C",
					"\xD1\x9B" => "\xD0\x8B",
					"\xD1\x9F" => "\xD0\x8F",
					"\xD1\x9E" => "\xD0\x8E",
					"\xD1\x98" => "\xD0\x88",
					"\xD2\x91" => "\xD2\x90",
					"\xD1\x91" => "\xD0\x81",
					"\xD1\x94" => "\xD0\x84",
					"\xD1\x97" => "\xD0\x87",
					"\xD1\x96" => "\xD0\x86",
					"\xD1\x95" => "\xD0\x85",
					"\xC5\x93" => "\xC5\x92",
					"\xC3\xBF" => "\xC5\xB8",
					"\xC3\xA0" => "\xC3\x80",
					"\xC3\xA3" => "\xC3\x83",
					"\xC3\xA5" => "\xC3\x85",
					"\xC3\xA6" => "\xC3\x86",
					"\xC3\xA8" => "\xC3\x88",
					"\xC3\xAA" => "\xC3\x8A",
					"\xC3\xAC" => "\xC3\x8C",
					"\xC3\xAF" => "\xC3\x8F",
					"\xC3\xB0" => "\xC3\x90",
					"\xC3\xB1" => "\xC3\x91",
					"\xC3\xB2" => "\xC3\x92",
					"\xC3\xB5" => "\xC3\x95",
					"\xC3\xB8" => "\xC3\x98",
					"\xC3\xB9" => "\xC3\x99",
					"\xC3\xBB" => "\xC3\x9B",
					"\xC3\xBE" => "\xC3\x9E",
					"\xCE\xAC" => "\xCE\x86",
					"\xCE\xAD" => "\xCE\x88",
					"\xCE\xAE" => "\xCE\x89",
					"\xCE\xAF" => "\xCE\x8A",
					"\xCF\x8C" => "\xCE\x8C",
					"\xCF\x8D" => "\xCE\x8E",
					"\xCF\x8E" => "\xCE\x8F",
					"\xCE\xB1" => "\xCE\x91",
					"\xCE\xB2" => "\xCE\x92",
					"\xCE\xB3" => "\xCE\x93",
					"\xCE\xB4" => "\xCE\x94",
					"\xCE\xB5" => "\xCE\x95",
					"\xCE\xB6" => "\xCE\x96",
					"\xCE\xB7" => "\xCE\x97",
					"\xCE\xB8" => "\xCE\x98",
					"\xCE\xB9" => "\xCE\x99",
					"\xCE\xBA" => "\xCE\x9A",
					"\xCE\xBB" => "\xCE\x9B",
					"\xCE\xBC" => "\xCE\x9C",
					"\xCE\xBD" => "\xCE\x9D",
					"\xCE\xBE" => "\xCE\x9E",
					"\xCE\xBF" => "\xCE\x9F",
					"\xCF\x80" => "\xCE\xA0",
					"\xCF\x81" => "\xCE\xA1",
					"\xCF\x83" => "\xCE\xA3",
					"\xCF\x84" => "\xCE\xA4",
					"\xCF\x85" => "\xCE\xA5",
					"\xCF\x86" => "\xCE\xA6",
					"\xCF\x87" => "\xCE\xA7",
					"\xCF\x88" => "\xCE\xA8",
					"\xCF\x89" => "\xCE\xA9",
					"\xCF\x8A" => "\xCE\xAA",
					"\xCF\x8B" => "\xCE\xAB",
					"\xC4\x9F" => "\xC4\x9E",
					"\xC5\x97" => "\xC5\x96",
					"\xC4\xAF" => "\xC4\xAE",
					"\xC4\x81" => "\xC4\x80",
					"\xC4\x93" => "\xC4\x92",
					"\xC4\x97" => "\xC4\x96",
					"\xC4\xA3" => "\xC4\xA2",
					"\xC4\xB7" => "\xC4\xB6",
					"\xC4\xAB" => "\xC4\xAA",
					"\xC4\xBC" => "\xC4\xBB",
					"\xC5\x86" => "\xC5\x85",
					"\xC5\x8D" => "\xC5\x8C",
					"\xC5\xB3" => "\xC5\xB2",
					"\xC5\xAB" => "\xC5\xAA",
					"\xC6\xA1" => "\xC6\xA0",
					"\xC6\xB0" => "\xC6\xAF",
					"\xC4\xA9" => "\xC4\xA8",
					"\xC5\xA7" => "\xC5\xA6",
					"\xC5\x8B" => "\xC5\x8A",
					"\xC5\xA9" => "\xC5\xA8",
					"\xE1\xB8\x83" => "\xE1\xB8\x82",
					"\xC4\x8B" => "\xC4\x8A",
					"\xE1\xB8\x8B" => "\xE1\xB8\x8A",
					"\xE1\xB8\x9F" => "\xE1\xB8\x9E",
					"\xC4\xA1" => "\xC4\xA0",
					"\xE1\xB9\x81" => "\xE1\xB9\x80",
					"\xE1\xBA\x81" => "\xE1\xBA\x80",
					"\xE1\xBA\x83" => "\xE1\xBA\x82",
					"\xE1\xBB\xB3" => "\xE1\xBB\xB2",
					"\xE1\xB9\x97" => "\xE1\xB9\x96",
					"\xE1\xB9\xA1" => "\xE1\xB9\xA0",
					"\xE1\xBA\x85" => "\xE1\xBA\x84",
					"\xC5\xB5" => "\xC5\xB4",
					"\xE1\xB9\xAB" => "\xE1\xB9\xAA",
					"\xC5\xB7" => "\xC5\xB6",
					"\xC8\x99" => "\xC8\x98",
					"\xC8\x9B" => "\xC8\x9A",
					"\xC4\xA7" => "\xC4\xA6",
					"\xC4\xA5" => "\xC4\xA4",
					"\xC4\xB5" => "\xC4\xB4",
					"\xC4\x89" => "\xC4\x88",
					"\xC4\x9D" => "\xC4\x9C",
					"\xC5\xAD" => "\xC5\xAC",
					"\xC5\x9D" => "\xC5\x9C");
					
		return str_replace(array_values($mapping), array_keys($mapping), $string);
	}
